GC := g++

#OPT := 
OPT := -O

all : main

main.o : main.cpp 
	$(GC) $(OPT) -c main.cpp
	
mainTest.o : mainTest.cpp
	$(GC) $(OPT) -c mainTest.cpp -lcppunit

Grille.o : Grille.cpp
	$(GC) $(OPT) -c Grille.cpp

GrilleMotsCroises.o : GrilleMotsCroises.cpp
	$(GC) $(OPT) -c GrilleMotsCroises.cpp
	
GrilleMotsCroisesTest.o : GrilleMotsCroisesTest.cpp
	$(GC) $(OPT) -c GrilleMotsCroisesTest.cpp -lcppunit

tinyxml.o : tinyxml.cpp tinystr.cpp tinyxmlerror.cpp tinyxmlparser.cpp
	$(GC) $(OPT) -c tinyxml.cpp tinystr.cpp tinyxmlerror.cpp tinyxmlparser.cpp -ltinyxmlstl

CaseMotsCroises.o : CaseMotsCroises.cpp
	$(GC) $(OPT) -c CaseMotsCroises.cpp
	
Mot.o : Mot.cpp
	$(GC) $(OPT) -c Mot.cpp
	
Ihm.o : Ihm.cpp
	$(GC) $(OPT) -c Ihm.cpp
	
Joueur.o : Joueur.cpp
	$(GC) $(OPT) -c Joueur.cpp

main : Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o GrilleMotsCroises.o Joueur.o main.o
	$(GC) $(OPT) Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o tinystr.o tinyxmlerror.o tinyxmlparser.o GrilleMotsCroises.o Joueur.o main.o -o mots-croises
	
testGrille : Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o GrilleMotsCroises.o Joueur.o GrilleMotsCroisesTest.o mainTest.o
	$(GC) $(OPT) Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o tinystr.o tinyxmlerror.o tinyxmlparser.o GrilleMotsCroises.o Joueur.o GrilleMotsCroisesTest.o mainTest.o -o testGrille -lcppunit
	
testMot : Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o GrilleMotsCroises.o Joueur.o MotTest.o mainTest.o
	$(GC) $(OPT) Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o tinystr.o tinyxmlerror.o tinyxmlparser.o GrilleMotsCroises.o Joueur.o MotTest.o mainTest.o -o testMot -lcppunit
	
testCase : Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o GrilleMotsCroises.o Joueur.o CaseMotsCroisesTest.o mainTest.o
	$(GC) $(OPT) Ihm.o Mot.o CaseMotsCroises.o Grille.o tinyxml.o tinystr.o tinyxmlerror.o tinyxmlparser.o GrilleMotsCroises.o Joueur.o CaseMotsCroisesTest.o mainTest.o -o testCase -lcppunit

clean :
	rm -f *.o mots-croises
